#Region " Imports"
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Text
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Diagnostics
Imports System.ComponentModel.Design
Imports System.ComponentModel.Design.Serialization
Imports System.Drawing
Imports System.Drawing.Design.UITypeEditor
Imports System.Drawing.Design
Imports System.Data.SqlClient
Imports System.IO
Imports System.Security.Permissions
#End Region

Namespace SuperGridControl

    Public Class Column

#Region " Variables"
        Private _visible As Boolean = True
        'Private _enabled As Boolean = True
        Private _controls As ColumnControls
        Private _width As System.Web.UI.WebControls.Unit
        Private _height As System.Web.UI.WebControls.Unit
        Private _headerText As String
        'Private _columnType As TypeOfColumn
        Private _lineFeed As Boolean
        Private _dataTextField As String
        Private _headerCSS As String
        Private _columnCSS As String
        Private _link As String
        Private _imageURL As String = ""
        Private _horizontalAlignment As System.Web.UI.WebControls.HorizontalAlign
        Private _verticalAlignment As System.Web.UI.WebControls.VerticalAlign
        'Private _onBlur As String = ""
        'Private _onKeyPress As String = ""
        'Private _onKeyDown As String = ""
        'Private _onClick As String = ""
        'Private _onChange As String = ""
        'Private _controlID As String
        'Private _visibility As ColumnVisibility
#End Region

#Region " Propriedades"

        <Description("Controls Definition"), Category("Appearance"), DesignerSerializationVisibility(DesignerSerializationVisibility.Content), PersistenceMode(PersistenceMode.InnerProperty)> ReadOnly Property [Controls]() As ColumnControls
            Get

                If IsNothing(_controls) Then
                    _controls = New ColumnControls
                End If
                Return _controls

            End Get
        End Property

        '<Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [OnBlurEvent]() As String
        '    Get
        '        Return _onBlur
        '    End Get

        '    Set(ByVal Value As String)
        '        _onBlur = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [OnKeyPressEvent]() As String
        '    Get
        '        Return _onKeyPress
        '    End Get

        '    Set(ByVal Value As String)
        '        _onKeyPress = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [OnClickEvent]() As String
        '    Get
        '        Return _onClick
        '    End Get

        '    Set(ByVal Value As String)
        '        _onClick = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [OnChangeEvent]() As String
        '    Get
        '        Return _onChange
        '    End Get

        '    Set(ByVal Value As String)
        '        _onChange = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [OnKeyDownEvent]() As String
        '    Get
        '        Return _onKeyDown
        '    End Get

        '    Set(ByVal Value As String)
        '        _onKeyDown = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Data"), NotifyParentProperty(True), DefaultValue("")> Property [ID]() As String
        '    Get
        '        Return _controlID
        '    End Get

        '    Set(ByVal Value As String)
        '        _controlID = Value
        '    End Set

        'End Property

        '<Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [Display]() As ColumnVisibility
        '    Get
        '        Return _visibility
        '    End Get

        '    Set(ByVal Value As ColumnVisibility)
        '        _visibility = Value
        '    End Set

        'End Property

        <Bindable(True), Description("The name of the datafield to display!"), Category("Data"), NotifyParentProperty(True), DefaultValue("")> Public Property DataTextField() As String
            Get
                Return _dataTextField
            End Get
            Set(ByVal value As String)
                _dataTextField = value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue(True)> Property [HorizontalAlignment]() As System.Web.UI.WebControls.HorizontalAlign
            Get
                Return _horizontalAlignment
            End Get

            Set(ByVal Value As System.Web.UI.WebControls.HorizontalAlign)
                _horizontalAlignment = Value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue(True)> Property [VerticalAlignment]() As System.Web.UI.WebControls.VerticalAlign
            Get
                Return _verticalAlignment
            End Get

            Set(ByVal Value As System.Web.UI.WebControls.VerticalAlign)
                _verticalAlignment = Value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue(True)> Property [Visible]() As Boolean
            Get
                Return _visible
            End Get

            Set(ByVal Value As Boolean)
                _visible = Value
            End Set
        End Property

        '<Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue(True)> Property [Enabled]() As Boolean
        '    Get
        '        Return _enabled
        '    End Get

        '    Set(ByVal Value As Boolean)
        '        _enabled = Value
        '    End Set
        'End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [Width]() As System.Web.UI.WebControls.Unit
            Get
                Return _width
            End Get

            Set(ByVal Value As System.Web.UI.WebControls.Unit)
                _width = Value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [Height]() As System.Web.UI.WebControls.Unit
            Get
                Return _height
            End Get

            Set(ByVal Value As System.Web.UI.WebControls.Unit)
                _height = Value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [HeaderText]() As String
            Get
                Return _headerText
            End Get

            Set(ByVal Value As String)
                _headerText = Value
            End Set

        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [HeaderCSS]() As String
            Get
                Return _headerCSS
            End Get

            Set(ByVal Value As String)
                _headerCSS = Value
            End Set
        End Property

        <Bindable(True), Category("Appearance"), NotifyParentProperty(True), DefaultValue("")> Property [ColumnCSS]() As String
            Get
                Return _columnCSS
            End Get

            Set(ByVal Value As String)
                _columnCSS = Value
            End Set
        End Property

        <Bindable(True), Category("Behavior"), NotifyParentProperty(True), DefaultValue("")> Property [Link]() As String
            Get
                Return _link
            End Get

            Set(ByVal Value As String)
                _link = Value
            End Set
        End Property

#End Region

    End Class

End Namespace


